[INFO] cloning repository https://github.com/cesar-guibo/Compiler
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cesar-guibo/Compiler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcesar-guibo%2FCompiler", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcesar-guibo%2FCompiler'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 43c16c34c1076f0b14af1aa923a3ae2ffcea4f60
[INFO] checking cesar-guibo/Compiler against 40527f3e444fde1deb361751bdef9b9e11d1b971+rustflags=--cfg crater_hack --force-warn invalid-c-variadic-arguments for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcesar-guibo%2FCompiler" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/cesar-guibo/Compiler
[INFO] finished tweaking git repo https://github.com/cesar-guibo/Compiler
[INFO] tweaked toml for git repo https://github.com/cesar-guibo/Compiler written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cesar-guibo/Compiler on toolchain 40527f3e444fde1deb361751bdef9b9e11d1b971
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+40527f3e444fde1deb361751bdef9b9e11d1b971" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cesar-guibo/Compiler already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+40527f3e444fde1deb361751bdef9b9e11d1b971" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9e98bac02f3c265eaa82a17a0967ef169bee052e1f19c277b9fecd18f946e9f3
[INFO] running `Command { std: "docker" "start" "9e98bac02f3c265eaa82a17a0967ef169bee052e1f19c277b9fecd18f946e9f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9e98bac02f3c265eaa82a17a0967ef169bee052e1f19c277b9fecd18f946e9f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9e98bac02f3c265eaa82a17a0967ef169bee052e1f19c277b9fecd18f946e9f3" "/opt/rustwide/cargo-home/bin/cargo" "+40527f3e444fde1deb361751bdef9b9e11d1b971" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9e98bac02f3c265eaa82a17a0967ef169bee052e1f19c277b9fecd18f946e9f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid --cfg crater_hack --force-warn invalid-c-variadic-arguments" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9e98bac02f3c265eaa82a17a0967ef169bee052e1f19c277b9fecd18f946e9f3" "/opt/rustwide/cargo-home/bin/cargo" "+40527f3e444fde1deb361751bdef9b9e11d1b971" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking compiler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `TypedVariable`
[INFO] [stdout]  --> src/instructions.rs:1:38
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::expressions::{Expression, TypedVariable};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypedVariable`
[INFO] [stdout]  --> src/instructions.rs:1:38
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::expressions::{Expression, TypedVariable};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: impl trait in impl method signature does not match trait method signature
[INFO] [stdout]   --> src/lexer/regex.rs:93:29
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn root(self: &Self) -> RegexAstSubtree {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/parser.rs:30:23
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn root(&self) -> impl AstView<T, U, V, Y>;
[INFO] [stdout]    |                       ------------------------ return type from trait method defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
[INFO] [stdout]    = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
[INFO] [stdout]    = note: `#[warn(refining_impl_trait_internal)]` (part of `#[warn(refining_impl_trait)]`) on by default
[INFO] [stdout] help: replace the return type so that it matches the trait
[INFO] [stdout]    |
[INFO] [stdout] 93 -     fn root(self: &Self) -> RegexAstSubtree {
[INFO] [stdout] 93 +     fn root(self: &Self) -> impl parser::AstView<'_, lexer::regex::RegexUnaryOp, lexer::regex::RegexBinaryOp, lexer::regex::RegexTernaryOp, char> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: impl trait in impl method signature does not match trait method signature
[INFO] [stdout]    --> src/expressions.rs:221:29
[INFO] [stdout]     |
[INFO] [stdout] 221 |     fn root(self: &Self) -> ExpressionView<T> {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/parser.rs:30:23
[INFO] [stdout]     |
[INFO] [stdout]  30 |     fn root(&self) -> impl AstView<T, U, V, Y>;
[INFO] [stdout]     |                       ------------------------ return type from trait method defined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
[INFO] [stdout]     = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
[INFO] [stdout] help: replace the return type so that it matches the trait
[INFO] [stdout]     |
[INFO] [stdout] 221 -     fn root(self: &Self) -> ExpressionView<T> {
[INFO] [stdout] 221 +     fn root(self: &Self) -> impl parser::AstView<'_, expressions::UnaryOp, expressions::BinaryOp, expressions::TernaryOp, expressions::Value<T>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: impl trait in impl method signature does not match trait method signature
[INFO] [stdout]   --> src/instructions.rs:87:29
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn root(self: &Self) -> InstructionView {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/parser.rs:30:23
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn root(&self) -> impl AstView<T, U, V, Y>;
[INFO] [stdout]    |                       ------------------------ return type from trait method defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
[INFO] [stdout]    = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
[INFO] [stdout] help: replace the return type so that it matches the trait
[INFO] [stdout]    |
[INFO] [stdout] 87 -     fn root(self: &Self) -> InstructionView {
[INFO] [stdout] 87 +     fn root(self: &Self) -> impl parser::AstView<'_, instructions::UnaryInstruction, instructions::BinaryInstruction, instructions::TernaryInstruction, instructions::InstructionValue> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: impl trait in impl method signature does not match trait method signature
[INFO] [stdout]   --> src/lexer/regex.rs:93:29
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn root(self: &Self) -> RegexAstSubtree {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/parser.rs:30:23
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn root(&self) -> impl AstView<T, U, V, Y>;
[INFO] [stdout]    |                       ------------------------ return type from trait method defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
[INFO] [stdout]    = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
[INFO] [stdout]    = note: `#[warn(refining_impl_trait_internal)]` (part of `#[warn(refining_impl_trait)]`) on by default
[INFO] [stdout] help: replace the return type so that it matches the trait
[INFO] [stdout]    |
[INFO] [stdout] 93 -     fn root(self: &Self) -> RegexAstSubtree {
[INFO] [stdout] 93 +     fn root(self: &Self) -> impl parser::AstView<'_, lexer::regex::RegexUnaryOp, lexer::regex::RegexBinaryOp, lexer::regex::RegexTernaryOp, char> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `apply_with_state`
[INFO] [stdout]    --> src/lexer/mod.rs:292:5
[INFO] [stdout]     |
[INFO] [stdout] 292 |     impl<'a> AstView<'a, RegexUnaryOp, RegexBinaryOp, RegexTernaryOp, char> for MockedRegexAstView<'a> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `apply_with_state` in implementation
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/parser.rs:26:5
[INFO] [stdout]     |
[INFO] [stdout]  26 |     fn apply_with_state<W, Z, F: Fn(Op<T, U, V, W, Y>, Z) -> (W, Z)>(self: Self, f: &F, s0: Z) -> (Option<W>, Z);
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------- `apply_with_state` from trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: impl trait in impl method signature does not match trait method signature
[INFO] [stdout]    --> src/lexer/mod.rs:318:33
[INFO] [stdout]     |
[INFO] [stdout] 318 |         fn root(self: &Self) -> MockedRegexAstView {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/parser.rs:30:23
[INFO] [stdout]     |
[INFO] [stdout]  30 |     fn root(&self) -> impl AstView<T, U, V, Y>;
[INFO] [stdout]     |                       ------------------------ return type from trait method defined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
[INFO] [stdout]     = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
[INFO] [stdout] help: replace the return type so that it matches the trait
[INFO] [stdout]     |
[INFO] [stdout] 318 -         fn root(self: &Self) -> MockedRegexAstView {
[INFO] [stdout] 318 +         fn root(self: &Self) -> impl parser::AstView<'_, lexer::regex::RegexUnaryOp, lexer::regex::RegexBinaryOp, lexer::regex::RegexTernaryOp, char> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MockedRegexAst: AstDrawable` is not satisfied
[INFO] [stdout]    --> src/lexer/mod.rs:317:90
[INFO] [stdout]     |
[INFO] [stdout] 317 |     impl Ast<RegexUnaryOp, RegexBinaryOp, RegexTernaryOp, Box<MockedRegexAst>, char> for MockedRegexAst {
[INFO] [stdout]     |                                                                                          ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `AstDrawable` is not implemented for `MockedRegexAst`
[INFO] [stdout]    --> src/lexer/mod.rs:283:5
[INFO] [stdout]     |
[INFO] [stdout] 283 |     struct MockedRegexAst {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `AstDrawable`:
[INFO] [stdout]               Expression<T>
[INFO] [stdout]               Instruction
[INFO] [stdout]               InstructionValue
[INFO] [stdout]               String
[INFO] [stdout]               TypedVariable
[INFO] [stdout]               Value<T>
[INFO] [stdout]               char
[INFO] [stdout]               regex::RegexAst
[INFO] [stdout] note: required by a bound in `parser::Ast`
[INFO] [stdout]    --> src/parser.rs:29:113
[INFO] [stdout]     |
[INFO] [stdout]  29 | pub trait Ast<T: std::fmt::Debug, U: std::fmt::Debug, V: std::fmt::Debug, W: std::fmt::Debug, Y: AstDrawable> : AstDrawable {
[INFO] [stdout]     |                                                                                                                 ^^^^^^^^^^^ required by this bound in `Ast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: impl trait in impl method signature does not match trait method signature
[INFO] [stdout]    --> src/expressions.rs:221:29
[INFO] [stdout]     |
[INFO] [stdout] 221 |     fn root(self: &Self) -> ExpressionView<T> {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/parser.rs:30:23
[INFO] [stdout]     |
[INFO] [stdout]  30 |     fn root(&self) -> impl AstView<T, U, V, Y>;
[INFO] [stdout]     |                       ------------------------ return type from trait method defined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
[INFO] [stdout]     = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
[INFO] [stdout] help: replace the return type so that it matches the trait
[INFO] [stdout]     |
[INFO] [stdout] 221 -     fn root(self: &Self) -> ExpressionView<T> {
[INFO] [stdout] 221 +     fn root(self: &Self) -> impl parser::AstView<'_, expressions::UnaryOp, expressions::BinaryOp, expressions::TernaryOp, expressions::Value<T>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: impl trait in impl method signature does not match trait method signature
[INFO] [stdout]   --> src/instructions.rs:87:29
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn root(self: &Self) -> InstructionView {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/parser.rs:30:23
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn root(&self) -> impl AstView<T, U, V, Y>;
[INFO] [stdout]    |                       ------------------------ return type from trait method defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
[INFO] [stdout]    = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
[INFO] [stdout] help: replace the return type so that it matches the trait
[INFO] [stdout]    |
[INFO] [stdout] 87 -     fn root(self: &Self) -> InstructionView {
[INFO] [stdout] 87 +     fn root(self: &Self) -> impl parser::AstView<'_, instructions::UnaryInstruction, instructions::BinaryInstruction, instructions::TernaryInstruction, instructions::InstructionValue> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/expressions.rs:343:44
[INFO] [stdout]     |
[INFO] [stdout] 343 |         self.root().apply_with_state(&|op, mut scope: HashMap<String, String>| {
[INFO] [stdout]     |                                            ----^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `linear_representation` is never read
[INFO] [stdout]   --> src/main.rs:26:37
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let mut linear_representation = None;
[INFO] [stdout]    |                                     ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 29 |         (linear_representation, global_scope) = instruction.root().apply_with_state(&|op: Op<UnaryInstruction, BinaryInstruction, Te...
[INFO] [stdout]    |          --------------------- `linear_representation` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/expressions.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum UnaryOp {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 22 |     SuffixIncrement,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     SuffixDecrement,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     PrefixIncrement,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     PrefixDecrement,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     FunctionCall,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 27 |     AttributeAcccess,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     AttributePointerAccess,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     UnaryPlus,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 30 |     UnaryMinus,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 31 |     LogicalNot,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 32 |     BitwiseNot,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 33 |     Cast,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 34 |     Dereference,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 35 |     AddressOf,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 36 |     Sizeof
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UnaryOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lexer/mod.rs:72:27
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn tokenize(self: &Self, s: String) -> TokenIter<T> {
[INFO] [stdout]    |                           ^^^^^                ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn tokenize(self: &Self, s: String) -> TokenIter<'_, T> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lexer/regex.rs:93:19
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn root(self: &Self) -> RegexAstSubtree {
[INFO] [stdout]    |                   ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn root(self: &Self) -> RegexAstSubtree<'_> {
[INFO] [stdout]    |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn root(&self) -> impl AstView<T, U, V, Y>;
[INFO] [stdout]    |             ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn root(&self) -> impl AstView<'_, T, U, V, Y>;
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/expressions.rs:221:19
[INFO] [stdout]     |
[INFO] [stdout] 221 |     fn root(self: &Self) -> ExpressionView<T> {
[INFO] [stdout]     |                   ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 221 |     fn root(self: &Self) -> ExpressionView<'_, T> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/instructions.rs:87:19
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn root(self: &Self) -> InstructionView {
[INFO] [stdout]    |                   ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn root(self: &Self) -> InstructionView<'_> {
[INFO] [stdout]    |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/expressions.rs:343:44
[INFO] [stdout]     |
[INFO] [stdout] 343 |         self.root().apply_with_state(&|op, mut scope: HashMap<String, String>| {
[INFO] [stdout]     |                                            ----^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `linear_representation` is never read
[INFO] [stdout]   --> src/main.rs:26:37
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let mut linear_representation = None;
[INFO] [stdout]    |                                     ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 29 |         (linear_representation, global_scope) = instruction.root().apply_with_state(&|op: Op<UnaryInstruction, BinaryInstruction, Te...
[INFO] [stdout]    |          --------------------- `linear_representation` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0046, E0277.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0046`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `compiler` (bin "compiler" test) due to 2 previous errors; 7 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "9e98bac02f3c265eaa82a17a0967ef169bee052e1f19c277b9fecd18f946e9f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9e98bac02f3c265eaa82a17a0967ef169bee052e1f19c277b9fecd18f946e9f3", kill_on_drop: false }`
[INFO] [stdout] 9e98bac02f3c265eaa82a17a0967ef169bee052e1f19c277b9fecd18f946e9f3
